package com.itheima;

import java.util.Scanner;
/*
    分析并完成以下需求:

    1.提示用户录入一个字符串，要求字符串中必须存在字母（可以定义方法）
    2.不符合要求：提示录入有误！重新录入
    3.符合要求：判断字符串中大写字母出现次数并打印（可以定义方法）
 */
public class day17 {
    public static void main(String[] args) {
        for (; ; ) {
            //提示并录入一个字符串
            System.out.println("请输录入一个字符串：");
            String s = new Scanner(System.in).nextLine();

            //调用方法
            if (!isHaveLetter(s)) {
                System.out.println("录入有误！");
                continue;
            } else {
                //打印结果
                System.out.println("大写字母有" + getBigLetter(s) + "个");
            }
        }
    }

    //定义方法，统计大写字符出现次数
    public static int getBigLetter(String s) {
        //定义计数器
        int count = 0;
        //遍历数组
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            //判断大写字母范围
            if (c >= 'A' && c <= 'Z') {
                count++;
            }
        }
        return count;
    }

    //定义方法，判断字符串中是否包含字母
    public static boolean isHaveLetter(String s) {
        //遍历字符串
        for (int i = 0; i < s.length(); i++) {
            //获取当前字符
            char c = s.charAt(i);
            if (c >= 'a' && c <= 'z') {
                //存在字母，修改flag
                return true;
            } else if (c >= 'A' && c <= 'Z') {
                //存在字母，修改flag
                return true;
            }
        }
        return false;
    }
}
